package com.erp.order.controller;

import com.erp.order.service.IAeOrderService;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.oldController.BaseController;
import com.ruoyi.shop.api.domain.ErpSellerStoreEmpower;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

import java.util.*;

@Slf4j
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/order/ae")
public class AeOrderController extends BaseController {
//    @Autowired
//    RestTemplate restTemplate;
//    @Autowired
//    ISysConfigService configService;
//    private final IAeSaveOrderService iAeSaveOrderService;
    private final IAeOrderService iAeOrderService;


    /**
     * 获取订单纠纷信息
     */
    @GetMapping("/findIssueOrderListByStoreId")
    public R<Object> findIssueOrderListByStoreId(String storeId) {
        //获取订单
        return iAeOrderService.findIssueOrderListByStoreId(storeId);
    }


//    private final IErpSellerStoreEmpowerExtendService iErpSellerStoreEmpowerExtendService;
//    private final IErpSellerStoreEmpowerService iErpSellerStoreEmpowerService;
//    private final ErpSellerStoreEmpowerMapper erpSellerStoreEmpowerMapper;
//    private final AEConfig aeConfig;
//


//    /**
//     * 定时拉取订单 改用了通用方法：pullOrdersFromAliExpress
//     */
//    @GetMapping("/pullOrderFromAe")
//    public R<Object> pullOrderFromAe() {
//        //获取订单列表
//        iAeOrderService.pullOrderFromAe();
//        return R.ok("完成执行订单拉取任务");
//    }

//    /**
//     * 最新版 从速卖通获取订单
//     * 4.0.0以后合并至pullOrdersFromAliExpress方法统一入口
//     */
//    @GetMapping("/pullOrdersFromAliExpress")
//    public R<Object> pullOrdersFromAliExpress(@Param("sellerId") String sellerId,
//                                              @Param("createDateStart") String createDateStart,
//                                              @Param("createDateEnd") String createDateEnd) {
//        return iAeOrderService.pullOrderFromAe(sellerId, createDateStart, createDateEnd);
//    }
//
//    /**
//     * 用户自主一键获取订单
//     */
//    @GetMapping("/getOrderList")
//    public R<Object> getOrderList(
//            @Param("sellerId") String sellerId,
//            @Param("createDateStart") String createDateStart,
//            @Param("createDateEnd") String createDateEnd
//    ) {
//
//        return iAeOrderService.getOrderList(sellerId, createDateStart, createDateEnd);
//    }
//
//    /**
//     * 用户获取订单单个订单
//     */
//    @GetMapping("/queryOrderFromAeByOrderId")
//    public R<Object> queryOrderFromAeByOrderId(
//            @Param("storeId") Long storeId,
//            @Param("orderId") Long orderId
//    ) {
//
//        return iAeOrderService.queryOrderFromAeByOrderId(storeId, orderId);
//    }
//
//
//    @GetMapping("/getAeInfo")
//    public R<Map<String, Object>> getAeInfo(String key, String userNick) {
//        if (!key.equals("500890a")) {
//            return R.fail("key错误");
//        }
//        ErpSellerStoreEmpowerExtend erpSellerStoreEmpowerExtend
//                = iErpSellerStoreEmpowerExtendService.selectByUserNick(userNick);
//        Map<String, Object> map = new HashMap<>();
//        String appkey = configService.selectConfigByKey("ae.getInfo.appkey");
//        String appName = configService.selectConfigByKey("ae.getOrder.appName");
//        String appSecret = configService.selectConfigByKey("ae.getOrder.appSecret");
//
//        map.put("appName", appName);
//        map.put("appkey", appkey);
//        map.put("appSecret", appSecret);
//        map.put("erpSellerStoreEmpowerExtend", erpSellerStoreEmpowerExtend);
//
//        return R.ok(map);
//    }
//
//    /**
//     * 获取订单基础信息
//     */
//    @GetMapping("/findOrderBaseInfo")
//    public R<Object> findOrderBaseInfo(Long orderId) {
//        //获取订单
//        return iAeOrderService.findOrderBaseInfo(orderId);
//    }
//
//    /**
//     * 获取订单纠纷信息
//     */
//    @GetMapping("/findOrderIssueDetail")
//    public R<Object> findOrderIssueDetail(Long childOrderId) {
//        //获取订单
//        return iAeOrderService.findOrderIssueDetail(childOrderId);
//    }
//
//    /**
//     * 获取订单详情
//     */
//    @GetMapping("/findOrderById")
//    public R<Object> findOrderById(Long orderId) {
//        //获取订单
//        return iAeOrderService.findOrderById(orderId);
//    }
//
//    /**
//     * 更新订单状态
//     *
//     * @return
//     */
//    @GetMapping("/updateOrderStatus")
//    public void updateOrderStatus(String orderId) {
//        //获取订单列表
//        iAeOrderService.updateOrderStatus(orderId);
//    }
//
//    /**
//     * 获取纠纷订单信息
//     */
//    @GetMapping("/findIssueOrder")
//    public R<Object> findIssueOrder() {
//        iAeOrderService.findIssueOrder();
//        return R.ok("已处理");
//    }
//
//    /**
//     * 获取异常订单信息
//     * 获取订单收货地址 到期时间 佣金
//     */
//    @GetMapping("/updateOrderErrorInfo")
//    public R<Object> updateOrderErrorInfo() {
//        iAeOrderService.findOrderReceiptInfo(null);
//        iAeOrderService.findOrderLeftEndGoodTime();
//        iAeOrderService.findOrderFeeRate();
//        return R.ok();
//    }
//
//    /**
//     * 从Ae同步两个佣金和付款币种
//     */
//    @GetMapping("/findOrderFeeRateAndCodeInfo")
//    public R<Object> findOrderFeeRateAndCodeInfo(@Param("orderId") Long orderId) {
//        //获取订单列表
//        return iAeOrderService.findOrderFeeRateAndCodeInfo(orderId);
//    }
//
//
//    @GetMapping("/queryLogisticsOrderDetail")
//    public void queryLogisticsOrderDetail() {
//        System.out.println("------------开始执行线上发货后获取面单的定时任务------------");
//        ResponseEntity<String> forEntity = restTemplate
//                .getForEntity(aeConfig.getEndpoint() + "/erp/erpLogistics/queryLogisticsOrderDetail", String.class);
//        System.out.println("------------线上发货后获取面单的定时任务执行结束------------");
////        String body = (String) forEntity.getBody();
//    }
//
//
//    /**
//     * 删除重复订单信息数据
//     */
//    @GetMapping("/deleteDuplicateOrderProduct")
//    public R<Object> deleteDuplicateOrderProduct() {
//        return iAeOrderService.deleteDuplicateOrderProduct();
//    }

}
